포인터
NOTE
C 포인터 기본(배열 포인터, 포인터 연산)과 함수 포인터.
📌 개념
배열 포인터
char a[10] = {a,b,c,d,e,f,g,i,j,k};- 포인터 선언
char *ptr;ptr = a;- 원래는
ptr = &a이지만 배열이므로a로 선언
- 포인터 위치 변경:
ptr = ptr + 3;
NOTE
현재 ptr은 ‘d’를 가리키고 있음
응용)
char *test = "string"; char *ptr = test; ptr += 3; printf("%s", ptr); // → "ing" 출력 (주의: 움직여진 위치부터 문자열 출력)
*ptr = 'W';
NOTE
‘d’의 값이 → ‘W’로 변경
a → {a,b,c,W,e,f,g,h,i,j,k};
함수 포인터
- 형태:
[함수 return 자료형] (*[포인터변수명])([인자 자료형]);
💻 예시
#include <stdio.h>
char* name_func(char* name){
char *name_tmp=name;
return name_tmp;
}
int main(void){
char* (*name_func_p)(char* name);
char *name="pwy";
name_func_p=name_func;
printf("%s\n",name_func(name));
return 0;
}